package cn.dt70.dao.aqbInvestment;

import cn.dt70.pojo.AqbInvestment;
import cn.dt70.pojo.AqbProject;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

public interface AqbInvestmentMapper {

    //灵活查询总条数
    int queryByflexibleCount(@Param("id") Integer id,@Param("querytime") Integer querytime,@Param("staus") Integer staus);

    //灵活查询
    List<AqbInvestment> queryByflexible(@Param("id") Integer id,@Param("querytime") Integer querytime,@Param("staus") Integer staus,@Param("begin") Integer begin,@Param("end") Integer end);



    //根据用户id查询投资记录
    List<AqbInvestment> queryById(@Param("id") Integer id);

    //根据用户id查询一周内的投资记录
    List<AqbInvestment> queryByIdInWeek(@Param("id") Integer id);

    //根据用户id查询一个月内投资记录
    List<AqbInvestment> queryByIdInMonth(@Param("id") Integer id);

    //根据用户id查询三个月内的投资记录
    List<AqbInvestment> queryByIdInThreeMonth(@Param("id") Integer id);

    //根据用户id查询一段时间的投资记录
    List<AqbInvestment> queryByIdForTime(@Param("id") Integer id, @Param("begin") Date begin, @Param("end") Date end,@Param("Begin") Integer Begin,@Param("End") Integer End);

    //根据用户id查询一段时间的投资记录条数
    int queryByIdForTimeCount(@Param("id") Integer id, @Param("begin") Date begin, @Param("end") Date end);

    //根据用户id查询可转接的债权（满编中）
    List<AqbInvestment> queryCreditorById(@Param("id") Integer id,@Param("querytime") Integer querytime);

    //根据用户id查询一段时间可转接的债权（满编中）
    List<AqbInvestment> queryCreditorByIdForTime(@Param("id") Integer id, @Param("begin") Date begin, @Param("end") Date end);

    //增加投资记录
    int addInvestment(AqbInvestment aqbInvestment);

    //根据投资id查询债权
    AqbInvestment queryInvestmentById(@Param("investId") Integer investId);

    //修改投资记录（债权转让后）
    int updateInvestment(AqbInvestment aqbInvestment);

    //查询投标状态的投资记录
    List<AqbInvestment> queryInvestmentBystatus(@Param("id") Integer id,@Param("staus") Integer staus);
}
